trigger-send(A;ds;x;cond;l;tg)
== Rsends(ds;x;cond.1;l;if isrcvl(l;x)
== then tg : A tag(x) : cond.1
== else tg : A == fi ;[<tg == fi ;[, s,v. if can-apply(p.let s,v = p in (cond.2)(s,v);<s, v>)
== fi ;[, then [do-apply(p.let s,v = p in (cond.2)(s,v);<s, v>)]
== fi ;[, else []
== fi ;[, fi
== fi ;[>])
trigger-send(A;ds;x;cond;l;tg)
== Rsends(ds;x;cond.1;l;if isrcvl(l;x)
== then fpf-join(IdDeq;tg : A;tag(x) : cond.1)
== else tg : A == fi ;[<tg == fi ;[, s,v. if can-apply(p.let s,v = p in (cond.2)(s,v);<s, v>)
== fi ;[, then [do-apply(p.let s,v = p in (cond.2)(s,v);<s, v>) / []]
== fi ;[, else []
== fi ;[, fi
== fi ;[> /
== fi ;[[]])